[xen] Fix deferred mmu op logic on invalidate shadow ldt.
authorChristian Limpach <Christian.Limpach@xensource.com>
Mon, 5 Mar 2007 11:17:52 +0000 (11:17 +0000)
committerChristian Limpach <Christian.Limpach@xensource.com>
Mon, 5 Mar 2007 11:17:52 +0000 (11:17 +0000)
On domain destroy, put_page_from_l1e is called on a domain
which is not current.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
xen/arch/x86/mm.c

index d7cd0420864f151f2a024ff00520dfad1a0e0588..81bea072c5a4e26640bfc768433c3df3d5fe2eec 100644 (file)
@@ -424,7 +424,10 @@ void invalidate_shadow_ldt(struct vcpu *v)
     }
 
     /* Dispose of the (now possibly invalid) mappings from the TLB.  */
-    queue_deferred_ops(v->domain, DOP_FLUSH_TLB | DOP_RELOAD_LDT);
+    if ( v == current )
+        queue_deferred_ops(v->domain, DOP_FLUSH_TLB | DOP_RELOAD_LDT);
+    else
+        flush_tlb_mask(v->domain->domain_dirty_cpumask);
 }